package com.tyros.common.secure.password;

/**
 * 密钥加密算法工具类
 *
 * @author zsy
 */
public class PasswordEncoderKit {

    private final static PasswordEncoder DEFAULT_PASSWORD_ENCODER = new Argon2PasswordEncoder();

    /**
     * description: 密码加密/导出
     * version: 1.0
     * date: 2022/1/5 13:48
     *
     * @param rawPassword 原始密码
     * @return java.lang.String 新密码
     */
    public static String encode(String rawPassword) {
        return DEFAULT_PASSWORD_ENCODER.encode(rawPassword);
    }

    /**
     * description: 密码比对
     * version: 1.0
     * date: 2022/1/5 13:49
     *
     * @param rawPassword     原密码
     * @param encodedPassword 加密后密码
     * @return boolean 比对结果
     */
    public static boolean matches(String rawPassword, String encodedPassword) {
        return DEFAULT_PASSWORD_ENCODER.matches(rawPassword, encodedPassword);
    }
}
